Auth0上メールアドレスのドメイン別でログインフローを分けてみた(Authentication Profile: Identifier first)
概要
Auth0上ログインフローをカスタマイズする方法はいくつ(Actions、Rulesなど)ありますが、普通のUser DBとEnterprise Connection(AzureAD、Google Workspaceなど)のログインフローを分けたい場合、Authentication ProfileのIdentifierは非常に使いやすいと思うので、試してみたいと思います。
事前準備
- ログインをデフォルトのNew Universal Loginに設定し、Customize Login Pageとかはオフにする
- Web App(こちらが使ったのはQuick StartのSPA)
- User-Passwordのデータベースとユーザーアカウント(こちらが使ったのはデフォルトのもの)
- Enterprise Connectionとユーザーアカウント(こちらが使ったのはテスト用のAzureAD)
手順
まず、事前に用意したアプリに「普通のUser-Password」と「Enterprise Connection」をオンにします。
そして、ダッシュボードで、Authentication -> Authentication Profile
に入って、Identifier First
を選んで、セーブします。
Authentication -> Enterprise
に事前準備した「Enterprise Connection」に入って、それに関連するドメインを追加します。
Web Appを起動し、「Enterprise Connection」のメールアドレスを入力したら、識別され、それで「Enterprise Connection」の元のサイトにリダイレクトされ、ログインする形になります。
普通のユーザーDBのメールアドレスを入力したら、画面が「メールアドレス + パスワード」の形に変わって、そのままログインする形になります。
以上です。